---
title: 将你的 Astro 站点部署到 Fly.io
description: 如何使用 Fly.io 将你的 Astro 站点部署到网络上。
sidebar:
  label: Fly.io
type: deploy
logo: flyio
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';

你可以将你的 Astro 项目部署到 [Fly.io](https://fly.io/)，这是一个贴近用户的运行全栈应用和数据库的平台。

## 项目配置

你的 Astro 项目可以作为一个静态站点或者一个服务端渲染（SSR）站点部署到 Fly.io。

### 静态站点

你的 Astro 项目默认是一个静态站点。你不需要任何额外的配置就可以部署一个静态的 Astro 站点到 Fly.io。

### 服务端渲染适配器

要在你的 Astro 项目中启用按需渲染并部署到 Fly.io，请添加 [Node.js 适配器](/zh-cn/guides/integrations-guide/node/)。

## 如何部署

<Steps>
1. 如果你还没有 [注册 Fly.io](https://fly.io/docs/getting-started/log-in-to-fly/#first-time-or-no-fly-account-sign-up-for-fly)，请先注册。

2. [安装 `flyctl`](https://fly.io/docs/hands-on/install-flyctl/)，你的 Fly.io 应用命令中心。

3. 在你的终端运行以下命令。

    ```bash
    fly launch
    ```

	`flyctl` 会自动检测 Astro，配置正确的设置，构建你的镜像，并将其部署到 Fly.io 平台。
</Steps>

## 生成你的 Astro Dockerfile

如果你还没有 Dockerfile，`fly launch` 将为你生成一个，并准备一个 `fly.toml` 文件。对于按需渲染的页面，这个 Dockerfile 将包含适当的启动命令和环境变量。

你也可以使用 [Dockerfile 生成器](https://www.npmjs.com/package/@flydotio/dockerfile) 创建自己的 Dockerfile，然后对于 Node 应用使用命令 `npx dockerfile` 运行，或者对于 Bun 应用使用 `bunx dockerfile` 运行。

## 官方资源

- 查看 [Fly.io 的官方文档](https://fly.io/docs/js/frameworks/astro/)
